package cn.sumpu.app.guoguojie.dao;

import java.util.List;
import java.util.Map;

import cn.sumpu.app.guoguojie.domain.Member;
import cn.sumpu.app.guoguojie.domain.Ext.Baby;
import cn.sumpu.app.guoguojie.domain.Ext.MemberExt;
import cn.sumpu.app.guoguojie.exception.AppBusinessException;

public interface MemberDao {
	public void insert(Member member) throws AppBusinessException;

	public List<Member> getMemberList(Map<String, Object> map)
			throws AppBusinessException;

	public int getMemberListCount(Map<String, Object> map)
			throws AppBusinessException;

	public void updateMember(Member member) throws AppBusinessException;

	public MemberExt getBaseInfo(String id) throws AppBusinessException;

	public void updateHostName(Map<String, Object> map)
			throws AppBusinessException;

	public List<Baby> getBabyList(String member) throws AppBusinessException;

	public Member getMemberById(String identifier) throws AppBusinessException;
	
	public List<Member> getMemberListByDoorplate(String doorplate) throws AppBusinessException;
	
	/**
	 * 根据标识号删除宝宝信息
	 * @param identifier	宝宝Id
	 * @throws AppBusinessException
	 */
	public void deleteBabyInfo(String identifier) throws AppBusinessException;
	
	/**
	 * 根据门牌号取得爸爸妈妈的集合
	 * @param doorplate			门牌号
	 * @throws AppBusinessException
	 */
	public List<Member> getParentListByDoorplate(String doorplate) throws AppBusinessException;
	
	/**
	 * 根据门牌号户主的密码
	 * @param doorplate			门牌号
	 * @throws AppBusinessException
	 */
	public String getHostPwdByDoorplate(String doorplate) throws AppBusinessException;
	
	/**
	 * 根据门牌号取得户主的信息
	 * @param doorplate			门牌号
	 * @throws AppBusinessException
	 */
	public Member getHostInfoByDoorplate(String doorplate) throws AppBusinessException;
	
}
